Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London Santo Domingo Challenger U.S. Open - New York Mallorca Challenger Curitiba Challenger Guayaquil Challenger Australian Open - Melbourne Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Wimbledon - London Aix En Provence Challenger French Open - Paris Turin Challenger Internazionali BNL d'Italia - Rome Sassuolo Challenger Hamburg Open - Hamburg U.S. Open - New York Mouilleron-Le-Captif Challenger Grodzisk Mazowiecki Challenger Australian Open - Melbourne Wimbledon - London Nordea Open - Bastad Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F3 Great Britain F5 Great Britain F6 Great Britain F7 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Argentina F7 Netherlands F3 Argentina F8 Brazil F2 Brazil F4 Brazil F5 Brazil F8 Brazil F4 Tunisia F31 Tunisia F32 Tunisia F33 Tunisia F34 Tunisia F35 Tunisia F36 Turkey F8 (Antalya) Turkey F9 (Antalya) Turkey F10 (Antalya) BNP Paribas Nordic Open - Stockholm Kobe Challenger Turkey F11 (Antalya) Turkey F12 (Antalya) Turkey F13 (Antalya) Turkey F14 (Antalya) Spain F12 (Lleida) Spain F13 (Valldoreix) Spain F14 (Vic) Spain F15 (Sta. Margarida Montbui) Argentina F2 (Cordoba) Argentina F3 (Villa Maria) Turkey F32 (Antalya) Turkey F33 (Antalya) Turkey F34 (Antalya) Turkey F35 (Antalya) Turkey F36 (Antalya) Turkey F37 (Antalya) Turkey F38 (Antalya) Turkey F39 (Antalya) Turkey F40 (Antalya) Turkey F41 (Antalya) Brazil F2 (Santos) Brazil F4 (Sao Carlos) Turkey F6 (Antalya) Turkey F7 (Antalya) Turkey F8 (Antalya) Tunisia F12 (Hammamet) Turkey F13 (Antalya) Turkey F14 (Antalya) Egypt F16 (Cairo) Egypt F17 (Cairo) Spain F11 (Valldoreix) Spain F12 (Vic) Spain F14 (Huelva) Netherlands F2 (Den Haag) Netherlands F3 (Amstelveen) Germany F8 (Kassel) Portugal F12 (Porto) Spain F24 (Santander) Brazil F6 (Curitiba) Brazil F7 (Sao Carlos) M15 Antalya M15 Antalya M15 Reus M15 Madrid M15 Las Palmas De Gran Canaria M15 Las Palmas De Gran Canaria M15 Valldoreix M25 Rio De Janeiro M25 Lima M25 Poznan Andria Challenger Tampere Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Perugia Challenger Rome Challenger Campinas Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Tiburon Challenger Stockton Challenger Bangalore Challenger Rennes Challenger Aix En Provence Challenger Prostejov Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Buenos Aires Challenger Pune Challenger Phoenix Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Segovia Challenger Cordenons Challenger Hamburg Challenger Lima Challenger Guayaquil Challenger Houston Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Aix En Provence Challenger Sibiu Challenger Split Challenger Istanbul Challenger Biella 4 Challenger Split 2 Challenger Ostrava Challenger Lyon Challenger Almaty 1 Challenger Aix En Provence Challenger Tulln Challenger Mouilleron-Le-Captif Challenger Santa Cruz de la Sierra 2 Challenger Pereira Challenger Mexico City Challenger San Luis Potosi Challenger Buenos Aires 2 Challenger Bordeaux Challenger Montechiarugolo - Parma Challenger Buenos Aires 3 Challenger Salzburg Challenger Bogota Challenger Iasi Challenger Trieste Challenger Israel F2 Vancouver Challenger Tulln Challenger Rio De Janeiro Challenger Portugal F1 Lima 2 Challenger Montevideo Challenger Sao Leopoldo Challenger Piracicaba Challenger Mexico City Challenger Heilbronn Challenger Lyon Challenger Seville Challenger Naples Challenger Sao Leopoldo Challenger Braunschweig Challenger Roanne Challenger Villa Maria Challenger Curitiba Challenger Matsuyama Challenger Spain F25 (Donostia-San-Sebastian) Kobe Challenger Montevideo Challenger Sao Paulo Challenger Spain F26 (Oviedo) Yokohama Challenger Spain F27 (Seville) Merida Challenger Morelia Challenger Naples Challenger Mexico City Challenger Monza Challenger Rome Challenger Francavilla Challenger Heilbronn Challenger Perugia Challenger Sassuolo Challenger Brasov Challenger Braunschweig Challenger Zug Challenger Porto Challenger Seville Challenger Bad Waltersdorf Challenger M15 Monastir Lisbon Challenger M15 Monastir Braga Challenger M25 Barnstaple M25 Glasgow Seoul Challenger M15 Antalya M15 Antalya M25 Vic M15 Sao Jose Do Rio Preto M15 Curitiba M25+H Kassel M25+H Appiano San Marino Challenger San Francisco Challenger Poprad Tatry Challenger Bastad Challenger Helsinki Challenger Genova Challenger Budapest Challenger Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Memphis Open - Memphis Millennium Estoril Open - Estoril If Stockholm Open - Stockholm St. Brieuc Challenger TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Intrum Stockholm Open - Stockholm Chicago Challenger Murray River Open - Melbourne Cordoba Open - Cordoba Chile Dove Men+Care Open - Santiago Nordea Open - Bastad Campinas Challenger Brest Challenger Bangalore Challenger Citi Open - Washington Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Barcelona Open Banc Sabadell - Barcelona Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Stockholm Open - Stockholm United Cup - Australia Tata Open Maharashtra - Pune Argentina Open - Buenos Aires Banja Luka Open - Banja Luka Hamburg European Open - Hamburg Rio Open - Rio de Janeiro Nordea Open - Bastad Citi Open - Washington Argentina Open - Buenos Aires Movistar Chile Open - Santiago Hamburg Open - Hamburg Eckental Challenger Aptos Challenger Brescia Challenger Sao Paulo Challenger Mohammedia Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Manerbio Challenger M25 Vale Do Lobo Dallas Challenger Barletta Challenger Santa Fe 2 Challenger Oeiras 3 Challenger Mauthausen Challenger Oeiras 4 Challenger Ilkley Challenger Istanbul Challenger Iasi Challenger Cary Challenger Orlando Challenger Sao Paulo Challenger Antalya Challenger Antalya 2 Challenger Split 1 Challenger Rome 2 Challenger Biella 5 Challenger Sony Open Tennis - Miami Prague Challenger BNP Paribas Open - Indian Wells Biella 7 Challenger Miami Open - Miami Braunschweig Challenger Rogers Cup - Toronto BNP Paribas Open - Indian Wells St. Tropez Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Cassis Challenger New Delhi Challenger Orleans Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Bratislava Challenger Santiago 3 Challenger Arad Challenger Liberec Challenger Cordenons Challenger Bangkok Challenger Helsinki Challenger BNP Paribas Open - Indian Wells Napa Challenger Miami Open - Miami Sacramento Challenger Tiburon Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Campinas Challenger BNP Paribas Open - Indian Wells Drummondville Challenger Miami Open - Miami Mutua Madrid Open - Madrid Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Poznan Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Brasilia Challenger Eckental Challenger Sao Paulo Challenger Vancouver Challenger Istanbul Challenger Izmir Challenger Mons Challenger Shanghai Challenger Bratislava Challenger Bergamo Challenger Marbella Challenger Biella Challenger Zagreb Challenger Como Challenger Prostejov Challenger Santos Challenger Perugia Challenger Valencia Challenger Cali Challenger Bastad Challenger Aix En Provence Challenger Lyon Challenger Cordenons Challenger Curitiba Challenger Buenos Aires Challenger Campinas Challenger Maia Challenger Tunis Challenger Phoenix Challenger Bordeaux Challenger Cary Challenger Rennes Challenger Orleans Challenger Alicante Challenger Campinas Challenger Malaga Challenger Buenos Aires Challenger Tampere Challenger Mallorca Challenger Cassis Challenger Lima 2 Challenger Campinas Challenger Tenerife 1 Challenger Guayaquil Challenger Manama Challenger Phoenix Challenger Rome 1 Challenger Heilbronn Challenger Biella 6 Challenger Montevideo Challenger Mouilleron-Le-Captif Challenger Chennai Challenger Toulouse Challenger Guayaquil Challenger Vicenza Challenger Amersfoort Challenger Szczecin Challenger Rennes Challenger St. Tropez Challenger Bastad Challenger Tunis Challenger Montevideo Challenger Buenos Aires Challenger Ostrava Challenger Tenerife Challenger Santo Domingo Challenger Cary Challenger Manacor Challenger Orleans Challenger Buenos Aires Challenger Campinas Challenger Lima 2 Challenger Yokkaichi Challenger Alicante Challenger Rennes Challenger Piracicaba Challenger Rosario Challenger Pune Challenger Zadar Challenger Villa Maria Challenger Buenos Aires Challenger Genova Challenger Oeiras 5 Challenger Helsinki Challenger Vilnius Challenger Punta Del Este Challenger Iasi Challenger Prague II Challenger Porto 2 Challenger Campinas Challenger Prostejov Challenger Montevideo Challenger Santiago Challenger Marbella Challenger Taipei Challenger Iasi Challenger Tampere Challenger Cordenons Challenger Seoul Challenger Zug Challenger Helsinki Challenger Andria Challenger Vina del Mar Challenger Prague 1 Challenger Oeiras 4 Challenger Salvador De Bahia Challenger Maia Challenger If Stockholm Open - Stockholm If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha BMW Open - Munich Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Barcelona Open BancSabadell - Barcelona If Stockholm Open - Stockholm Delray Beach Open - Delray Beach SkiStar Swedish Open - Bastad Gazprom Hungarian Open - Budapest Gerry Weber Open - Halle BNP Paribas Nordic Open - Stockholm Rio Open - Rio de Janeiro Cordoba Open - Cordoba Dubai Duty Free Tennis Championships - Dubai Korea Open - Seoul Abierto de Tenis Mifel - Los Cabos Rio Open - Rio de Janeiro Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Chile Dove Men+Care Open - Santiago US Men's Clay Court Championship - Houston Grand Prix Hassan II - Marrakech Stockholm Open - Stockholm Argentina Open - Buenos Aires Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Suisse Open - Gstaad Rio Open - Rio de Janeiro Tiriac Open - Bucharest Erste Bank Open - Vienna Mallorca Championships - Mallorca Qatar ExxonMobil Open - Doha Swiss Open - Gstaad Abierto Mexicano - Los Cabos Irving Challenger Ottignies-Louvain-la-Neuve Challenger Braunschweig Challenger Bordeaux Challenger Bratislava Challenger Concepcion Challenger Trieste Challenger Santiago 2 Challenger SkiStar Swedish Open - Bastad Rio Open - Rio de Janeiro Split Challenger ABN AMRO World Tennis Tournament - Rotterdam Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Brisbane International - Brisbane Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Miami Open - Miami Internazionali BNL d'Italia - Rome U.S. Open - New York Davis Cup, World Group, PO, SWE-BIH 3-1 Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris French Open - Paris Wimbledon - London Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris U.S. Open - New York Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Finals, Group B Davis Cup, Group A, Bologna Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group A, Bologna Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Group I, 1R, LIB-BRA 0-4 Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group I, 1R, SWE-IND 4-0 Australian Open (juniors) Wimbledon (juniors) U.S. Open (juniors) U.S. Open (juniors) Salzburg Challenger Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Nordea Open - Bastad All Lower level tournaments Cuernavaca Challenger